package com.timeshare.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.timeshare.dto.LoginRequest;
import com.timeshare.dto.RegisterRequest;
import com.timeshare.dto.UserVO;
import com.timeshare.entity.User;

/**
 * 用户服务接口
 */
public interface UserService extends IService<User> {
    
    /**
     * 用户注册
     */
    void register(RegisterRequest request);
    
    /**
     * 用户登录
     */
    String login(LoginRequest request);
    
    /**
     * 获取当前用户信息
     */
    UserVO getCurrentUser(Long userId);
    
    /**
     * 更新用户信息
     */
    void updateUser(Long userId, User user);
    
    /**
     * 根据ID获取用户信息
     */
    UserVO getUserById(Long userId);
    
    /**
     * 获取用户列表（管理员）
     */
    Page<User> getUserList(Integer page, Integer size, String keyword);
    
    /**
     * 封禁用户
     */
    void banUser(Long userId);
    
    /**
     * 解封用户
     */
    void unbanUser(Long userId);
}

